package com.lianniu.mgr.baseService.post.dao;

import java.util.List;

import com.lianniu.mgr.baseService.area.model.SystemAreaVo;
import com.lianniu.mgr.baseService.menu.model.MenuVo;
import com.lianniu.mgr.baseService.post.model.Post2Menu2OpVo;
import com.lianniu.mgr.baseService.post.model.Post2SysAreaVo;
import com.lianniu.mgr.baseService.post.model.Sys2Menu2OpVo;

public interface IAssignAuthorityMapperDao {
  /**
   * @Description:查询所有菜单
   * @return List<MenuVo>

   * @Date:2016年3月29日下午8:36:19
   * @Version 1.0.0
   */
  public List<MenuVo> getAllMenu();
  /**
   * @Description:查询所有区域
   * @return List<SystemAreaVo>

   * @Date:2016年3月29日下午8:41:18
   * @Version 1.0.0
   */
  public List<SystemAreaVo> getAllArea();
  
  /**
   * @Description:删除分配的区域
   * @param postId
   * @return int

   * @Date:2016年4月1日下午1:17:37
   * @Version 1.0.0
   */
  public int delPrecinct(String postId);
  /**
   * @Description:保存分配的区域
   * @param list
   * @return int

   * @Date:2016年4月1日下午1:17:40
   * @Version 1.0.0
   */
  public int addPrecinct(List<Post2SysAreaVo> list);
  
  /**
   * @Description:删除lianniu_post2menu记录
   * @param postId
   * @return int

   * @Date:2016年4月5日下午1:51:16
   * @Version 1.0.0
   */
  public int delMenu(String postId);
  
  /**
   * @Description:lianniu_post2menu插值
   * @param list
   * @return int

   * @Date:2016年4月5日下午1:51:18
   * @Version 1.0.0
   */
  public int addMenu(List<Post2Menu2OpVo> list);
  /**
   * @Description:lianniu_post2menu2op插值
   * @param list
   * @return int

   * @Date:2016年4月5日下午1:51:20
   * @Version 1.0.0
   */
  public int addMenu2Po(List<Post2Menu2OpVo> list);
  
  /**
   * @Description:删除lianniu_post2menu2op记录
   * @param postId
   * @return int

   * @Date:2016年4月5日下午1:51:22
   * @Version 1.0.0
   */
  public int delOperation(String postId);
  /**
   * @Description:lianniu_post2menu2op插值
   * @param list
   * @return int

   * @Date:2016年4月5日下午1:51:24
   * @Version 1.0.0
   */
  public int addOperation(List<Post2Menu2OpVo> list);
  /**
   * @Description:查询勾选的各级菜单id
   * @param postId
   * @return List<MenuVo>

   * @Date:2016年4月5日下午1:51:26
   * @Version 1.0.0
   */
  public List<MenuVo> getCheckedMenuByPostId(String postId);
  
  /**
   * @Description:根据postId获得系统菜单
   * @param postId
   * @return List<Sys2Menu2OpVo>

   * @Date:2016年4月8日上午11:01:23
   * @Version 1.0.0
   */
  public List<Sys2Menu2OpVo> getSysMenuByPostId(String postId);
  
  /**
   * @Description:根据postId获得菜单操作
   * @param postId
   * @return List<Sys2Menu2OpVo>

   * @Date:2016年4月8日上午11:01:25
   * @Version 1.0.0
   */
  public List<Sys2Menu2OpVo> getOpMenuByPostId(String postId);
  
  /**
   * @Description:根据菜单id查询功能名称
   * @param menuId
   * @return List<Sys2Menu2OpVo>

   * @Date:2016年4月10日下午6:31:24
   * @Version 1.0.0
   */
  public List<Sys2Menu2OpVo> getOpByMenuId(String menuId);
  
  /**
   * @Description:根据areaId获得其及所有父节点
   * @param areaId
   * @return List<String>

   * @Date:2016年4月11日上午9:54:16
   * @Version 1.0.0
   */
  public List<String> getParentByAreaId(List<String> areaId);

  /**
   * @Description:根据岗位id查询该岗位下已被勾选的功能操作及对应菜单
   * @param postId
   * @return List<Sys2Menu2OpVo>
   * @Date:2016年5月12日上午11:01:16
   * @Version 1.0.0
   */
  public List<Sys2Menu2OpVo> getCheckedOpByPostId(String postId);
  
}
